"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/5/14 8:33
@Description : 
 1. 字符串的定义
    ''   ""   三引号
"""
#  \  续行符号
str_html = '<!DOCTYPE html>' \
           '<html lang="en">' \
           '<head>' \
           '<meta charset="UTF-8">' \
           '<title>Title</title>' \
           '</head>' \
           '<body>' \
           '</body>' \
           '</html>'

str_html = """
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    </body>
    </html>
"""
# print(str_html)
str_info = '"hello world"'
str_info = "\"hello world\""
str_info = '\'hello world\''
print(str_info)
print('-' * 20, '字符串通用操作', '-' * 20)
str1 = 'hello world'
# 获取字符串的长度
print(f'hello world字符串的长度是:{len(str1)}')
str2 = "hello python"
result = str1 + str2
print(f'hello world + hello python = {result} ')

# 遍历字符串
for item in str1:
    print(item)

# 判定包含关系
result = 'l' in str1
print(f'l in hello world {result}')

# 重复字符串
result = str1 * 2
print(f'hello world  * 2 = {result}')

# 字符串索引操作   支持正负索引
result = str1[0]
print(f'hello world[0] = {result}')
result = str1[-1]
print(f'hello world[-1] = {result}')

# 字符串切片操作  参照列表切片
result = str1[::2]
print(f'hello world[0:3] = {result}')

print('*' * 20, '字符串内置函数', '*' * 20)
print(str1)
# 字符串大小写转换   hello world
new_str = str1.upper()  # 大写转换  将转换后的数据返回  str1不会改变   字符串的不可改变性
print(id(str1), id(new_str))
print(new_str)

# 判定字符串是否是大写
result = new_str.isupper()
print(result)

# 字符串转小写
new_str = new_str.lower()
print(new_str)

# 判定字符串是否是小写
result = new_str.islower()
print(result)

# 每个单词的首字母大写
new_str = new_str.title()
print(new_str)

#  第一个单词的首字母大写
str1 = 'hello world'
new_str = str1.capitalize()
print(new_str)

# 大小写转换  大写->小写   小写->大写
new_str = new_str.swapcase()
print(new_str)

# 判定单词的开始 和结束
result = new_str.startswith('e')
print(result)
result = new_str.endswith('D')
print(result)

# 去除字符串的空白字符
str1 = "  hello world   "
print(str1)
# new_str = str1.strip()
# new_str = str1.lstrip()
new_str = str1.rstrip()
print(new_str)

# 字符串居中
str1 = "hello"
new_str = str1.center(9,'*')
print(new_str)

# 左右对齐的用法
# new_str = str1.ljust(9)
new_str = str1.rjust(9)
print(len(new_str))
print(new_str)

str1 = '1'
# 判定字符串是否是字母数字
# result = str1.isalnum()
# result = str1.isdecimal()

str1 = 'hel,lo,wor,ld'
# result = str1.count('l')
# 判定指定字符在字符串中的位置 index  返回第一个匹配的元素的索引   str  start  end
# result = str1.index('l',4)
# 字符替换
result = str1.replace('h','H')
# 字符的拆分 '1,2,3,4,5'
result = str1.split(',')

print(result)

#  补充python中进制的表示方式
"""
num = 1   # 十进制
num = 0b0010   # 二进制  0b
num = 0o0010   # 八进制  0o
num = 0x0010   # 十六进制  0x
print(num)

"""
